package com.zpark.it.service;

import com.zpark.it.param.PageParam;
import com.zpark.it.param.UserCheckParam;
import com.zpark.it.param.UserLoginParam;
import com.zpark.it.pojo.User;
import com.zpark.it.utils.R;

/**
 * @Title: UserService
 * @Author Charles
 * @Package com.zpark.it.service
 * @Date 2023/7/19 22:02
 */
public interface UserService {
    /**
     * 检查账号是否可用
     * @param userCheckParam 账号参数已经校验完毕，
     * @return 检查接口
     */
    R check(UserCheckParam userCheckParam);

    /**
     * 注册业务
     * @param user
     * @return
     */
    R register(User user);

    /**
     * 登录业务
     * @param userLoginParam 账号，密码已经检验，但是密码是明文
     * @return
     */
    R login(UserLoginParam userLoginParam);

    /**
     * 后台管理调用查询所有数据
     * @param pageParam
     * @return
     */
    R listPage(PageParam pageParam);


    /**
     * 根据用户id删除数据
     * @param userId
     * @return
     */
    R remove(Integer userId);

    /**
     * 根据用户对象，修改用户信息
     * @param user
     * @return
     */
    R update(User user);

    /**
     * 添加用户信息
     * @param user
     * @return
     */
    R save(User user);
}
